package com.rygl.staff.domain;

import lombok.Data;

import java.util.Date;

@Data
public class JobAssignment {
    /**
     * 主键 ID，自增生成，唯一标识一条员工岗位记录
     */
    private Long id;

    /**
     * 员工用户 ID，关联员工主表（staff）主键
     */
    private Long userId;

    /**
     * 入职日期（正式报到或系统入职时间）
     */
    private Date entryDate;

    /**
     * 工号，用于员工在公司内部的编号标识（如：A10235）
     */
    private String jobNumber;

    /**
     * 所属部门名称（如：技术部、人力资源部等）
     */
    private String department;

    /**
     * 直属上级姓名或用户账号（如：部门主管）
     */
    private String supervisor;

    /**
     * 岗位名称（如：Java工程师、UI设计师、行政专员等）
     */
    private String position;

    /**
     * 工作地点名称（如：总部、深圳分公司、杭州园区等）
     */
    private String workplace;

    /**
     * 详细办公位置（如：B座3楼东侧、工位号A-302）
     */
    private String detailedLocation;

    /**
     * 所在城市（如：深圳、广州、澳门）
     */
    private String city;

    /**
     * 招聘渠道（如：校园招聘、社会招聘、内部推荐、猎头等）
     */
    private String recruitChannel;

    /**
     * 员工状态（如：在职、试用、离职、待报到）
     */
    private String employeeStatus;

    /**
     * 司龄起算日期（用于计算工龄和福利等，可能与 entryDate 不一致）
     */
    private Date seniorityStart;

    /**
     * 创建时间（记录本记录首次写入系统的时间）
     */
    private Date createTime;

    /**
     * 更新时间（记录本记录最近一次修改时间）
     */
    private Date updateTime;
}    